"Windowing" is a feature that has recently gained much popularity in the fields of graphics workstations, personal computers, etc. The screen of a display device, such as a workstation monitor, is partitioned into separate rectangular areas (windows), each of which may be assigned to view and/or control the activities of the same or different processes being carried out by an associated processor. Thus, for example, if two windows are defined on a display screen, a user might initiate an output printing process in one window and then activate the second window for on-line text processing while the background printing is progressing.
Performance has been a problem with prior art windowing techniques as applied in the field of bitmapped graphics. The reasons for this and the attempted partial solutions are discussed in a co-pending and simultaneously filed application entitled "Bitmapped Graphics Workstation", Ser. No. 753,271, in the name of R. N. Kapur, and need not be repeated here. Suffice it to say that the primary reason for performance problems has been the need for massive data shuffling as window data is updated. This is caused by the manner in which data is stored for display in prior art techniques. The prior art provides one bitmapped display memory. The states of consecutive bits of the memory reflect the on/off states of consecutive pixels of the display screen. The bit states are sequentially obtained from the memory and sent to the display device as the screen of the device is raster scanned. Thus, as scrolling is performed in one window, for example, large portions of the memory, corresponding to the position of the window on the display screen, must be continually updated.
By contrast, border generation for windows in the prior art bitmapped techniques is relatively simple. Since the one memory contains display data for the entire display screen, all that need be done to generate visual window borders is to set the appropriate bits in the memory to an appropriate state. The border data remains static in the memory as long as the position of the window on the screen is not changed.
Subject matter disclosed in this application and claimed in the above-mentioned co-pending application dramatically achieves an improvement in the performance of bitmapped graphics workstations. This is achieved in part by providing separate bitmaps for each defined window and by fetching screen data from appropriate places in the individual bitmaps as the display screen is refreshed. This technique, while it greatly improves performance, creates difficulty in the generation of window borders. This is because the technique, when used in conjunction with prior art border generating techniques, causes a window to move on the screen as horizontal or vertical scrolling is performed in the window.